#include "infosalida.h"
#include "JuegoClientImp.h"
#include "Jugador.h"

InfoSalida :: InfoSalida(){
	mensaje.assign("");
}

InfoSalida :: ~InfoSalida(){
}

void InfoSalida :: update(){
	JuegoClientImp* juego = dynamic_cast<JuegoClientImp*>(this->observable);
		if (juego != 0) {
			if (!juego->isEnEstadoDePartidaFinalizada())
				this->escribir("Es el turno de "+juego->getJugadorEnTurno()->getNombre());
		}
}

void InfoSalida :: escribir(string msg){
	mensaje.append(msg);
	mensaje.append("\n");
	Glib::RefPtr<Gtk::TextBuffer> chatBuffer = Gtk::TextBuffer::create();
	chatBuffer->set_text(mensaje);
	this->set_buffer(chatBuffer);
	Gtk::ScrolledWindow *sc = (Gtk::ScrolledWindow*)this->get_parent();
	double upper = sc->get_vadjustment()->get_upper();
	sc->get_vadjustment()->set_value(upper);
	sc->get_vadjustment()->changed();
}

void InfoSalida :: borrar(){
	mensaje.assign("");
	Glib::RefPtr<Gtk::TextBuffer> chatBuffer = Gtk::TextBuffer::create();
	chatBuffer->set_text(mensaje);
	this->set_buffer(chatBuffer);
}
